package Reader;

import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.Properties;
@Component
public class Profile {

    //采用servletcontext读取配置文件的realpath,然后通过文件刘读取出来
    public String readerfilebyservletcontext(JSONObject object) throws IOException {

        //通过servletcontext读取到需要修改的文件路径
        String realPath = object.getString("url");
        //需要修改的我配置文件的value
        String value = object.getString("value");
        //需要修改的配置文件的键名
        String key = object.getString("key");
        InputStreamReader reader;
        InputStreamReader reader1 = null;
        //Properties类,主要用于读取Java的配置文件
        Properties props = new Properties();
        try{
             reader1 = new InputStreamReader(new FileInputStream(realPath), "UTF-8");
            props.load(reader1);
        }catch (Exception e){
            e.printStackTrace();
        }
        // getProperty ( String key)方法，用指定的键在此属性列表中搜索属性。也就是通过参数 key ，得到 key 所对应的 value。
        String property = props.getProperty(key);
        if(StringUtils.isEmpty(property)){
            return "请输入正确的配置文件的值名称";
        }
        props.setProperty(key,value);
        props.store(new FileWriter(realPath),"测试修改配置文件");
        return props.getProperty(key) ;
    }
}
